1. Field of the Invention
This invention relates to a semiconductor memory device, and more particularly to a semiconductor memory device applied to, for example, a NAND flash memory.
2. Description of the Related Art
NAND flash memories, semiconductor memory devices, have been available in the market and widely used. The NAND flash memories come in two types: one is a single-level NAND flash memory capable of storing 1 bit of data in a single memory cell and the other is a multilevel NAND flash memory capable of storing a plurality of pieces of data in a single memory cell (refer to, for example, Jpn. Pat. Appln. KOKAI Publication No. 2002-016154).
Since a multilevel NAND flash memory can store a plurality of pieces of data in a single memory cell, it can realize two or more times the capacity of a single-level NAND flash memory with the same area. Therefore, with the recent demands for a larger capacity of a flash memory, the multilevel NAND flash memory has been attracting attention.
However, the data write time of the multilevel NAND flash memory has to be, for example, about two to three times that of the single-level NAND flash memory, which is disadvantageous to speeding up. For example, when 2 bits of data are stored in a single memory, four threshold voltage have to be set, which makes it necessary to make the distribution width of the threshold voltage narrower than that of the single-level NAND flash memory. To perform control so as to make the distribution width of the threshold voltage narrower, it is necessary to repeat a program and a program verify read operation, which decreases the write speed and therefore increases the write time.
Furthermore, when 3 bits of data or 4 bits of data are stored in a single memory cell, 8 threshold voltages or 16 threshold voltages have to be set. For this reason, to store more items of data, it is necessary to make the distribution of threshold voltages narrower, making the write speed much slower, which is disadvantageous to speeding up.
On the other hand, when a memory cell array is made up of single-level NAND flash memories, it is advantageous to speeding up. However, only one bit of data can be stored in a single memory, which is disadvantageous to making the capacity larger.